package com.zan.pattern.command;

import java.util.ArrayList;
import java.util.List;

/**
 * @Author Zan
 * @Create 2024/4/27 10:02
 * @Description : 服务员类（请求者角色）
 * @ClassName: Waitor
 */
public class Waitor {

    // 持有多个命令对象
    private List<Command> commands = new ArrayList<>();

    public void setCommand(Command cmd) {
        // 将cmd对象存储到list集合中
        commands.add(cmd);
    }

    // 发起命令的功能 - 喊一句订单来了，厨师就开始执行
    public void orderUp() {
        System.out.println("美女服务员：大厨，新订单来了。。。");
        // 遍历list集合
        for (Command command : commands) {
            if (command != null) {
                command.execute();
            }
        }
    }
}
